package com.gugee.ins.data.collector.bloggerlocation.config;

import com.alibaba.nacos.api.config.annotation.NacosValue;
import lombok.Getter;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.context.annotation.Configuration;

/**
 * InsBloggerLocationConfig
 * @author Huangxin
 */
@Configuration
@Getter
public class InsBloggerLocationConfig {

    /**
     * 日志打印时间要求
     */
    @NacosValue(value="${ins.data.collector.insBloggerLocation.logTime.debug.limit:50}", autoRefreshed = true)
    long bloggerLocationDebugTimeLimit;

    /**
     * insBloggerLocation 主线程池数
     */
    @NacosValue(value="${ins.data.threadpools.insBloggerLocation.corePollSize:2}", autoRefreshed = true)
    int insBloggerFollowingCorePollSize;

    /**
     * insBloggerLocation kafka topic
     */
    @Value(value="${kafka.topics.insBloggerLocation.online}")
    String insBloggerLocationOnlineTopic;

    /**
     * insAnalysisLocation kafka topic
     */
    @Value(value="${kafka.topics.insAnalysisLocation.priority}")
    String insAnalysisLocationPriorityTopic;

    /**
     * insAnalysisLocationPriority 消息重发最大次数
     */
    @NacosValue(value="${ins.data.collector.message.insAnalysisLocationPriority.retry:1}", autoRefreshed = true)
    int insAnalysisLocationPriorityRetryTimes;

    /**
     * insBloggerLocation 消息时限范围
     */
    @NacosValue(value="${ins.data.collector.insBloggerLocation.accept.minTime.limit:1440}", autoRefreshed = true)
    int acceptInsBloggerLocationMsgTimeMinRange;

    /**
     * 每次爬取帖子列表的条数，0：默认值
     */
    @NacosValue(value="${ins.spider.media.each.count:0}", autoRefreshed = true)
    int insSpiderMediaEachCount;

    /**
     * 验证地理位置信息时采集帖子的最大数量
     */
    @NacosValue(value="${ins.data.collector.media.max.count:50}", autoRefreshed = true)
    int insCollectMediaMaxCount;

    /**
     * 进入大博主的粉丝数
     */
    @NacosValue(value="${ins.data.collector.insBloggerMain.follower.count:500000}", autoRefreshed = true)
    int insBloggerMainCollectFollowerCount;

    /**
     * 地理位置采集更新后,一定时间内不再采集 单位天
     */
    @NacosValue(value="${ins.data.collector.insBloggerLocation.intervals.day:7}", autoRefreshed = true)
    int insBloggerLocationClIntervalDay;
}
